TABLE OF CONTENTS
bgui.library/BGUI_AllocBitMap
bgui.library/BGUI_CreateRPortBitMap
bgui.library/BGUI_DoGadgetMethodA
bgui.library/BGUI_FillRectPattern
bgui.library/BGUI_FreeBitMap
bgui.library/BGUI_FreeClass
bgui.library/BGUI_FreeRPortBitMap
bgui.library/BGUI_GetCatalogStr
bgui.library/BGUI_GetClassPtr
bgui.library/BGUI_GetLocaleStr
bgui.library/BGUI_Help
bgui.library/BGUI_InfoText
bgui.library/BGUI_InfoTextSize
bgui.library/BGUI_LockWindow
bgui.library/BGUI_MakeClassA
bgui.library/BGUI_NewObjectA
bgui.library/BGUI_PackStructureTags
bgui.library/BGUI_PostRender
bgui.library/BGUI_RequestA
bgui.library/BGUI_UnlockWindow
bgui.library/BGUI_UnpackStructureTags
top bgui.library/BGUI_AllocBitMap
NAME
BGUI_AllocBitMap -- Allocate a BitMap.
** V40.4 **
SYNOPSIS
bitmap = BGUI_AllocBitMap( width, height, depth, flags, friend )
D0 D0 D1 D2 D3 A0
struct BitMap *BGUI_AllocBitMap( ULONG, ULONG, ULONG, ULONG,
struct BitMap * )
FUNCTION
Allocates and initializes a BitMap structure and its bitplanes. Under
OS 3.0 or later it reverts to the graphics.library/AllocBitMap()
routine. On earlier versions of the OS it will allocate and initialize
the BitMap structure and bitplanes itself.
INPUTS
width - The width in pixels of the desired BitMap.
height - The height in pixels of the desired BitMap.
depth - The number of bitplanes of the desired BitMap.
flags - BMF_CLEAR to specify that the allocated raster should be
filled with color 0.
BMF_DISPLAYABLE to specify that this bitmap data should
be allocated in such a manner that it can be displayed.
Displayable data has more severe alignment restrictions
than non-displayable data in some systems.
BMF_INTERLEAVED tells graphics that you would like your
bitmap to be allocated with one large chunk of display
memory for all bitplanes. This minimizes color flashing
on deep displays. If there is not enough contiguous RAM
for an interleaved bitmap, graphics.library will fall
back to a non-interleaved one.
BMF_MINPLANES causes graphics to only allocate enough space
in the bitmap structure for "depth" plane pointers. This
is for system use and should not be used by applications use
as it is inefficient, and may waste memory.
friend - See graphics.library/AllocBitMap().
RESULT
A pointer to the allocated and initialized BitMap structure or NULL
in case of a failure.
NOTES
Under OS 2.04 the "friend" parameter has no meaning. The only flag
available under OS 2.04 is the BMF_CLEAR flag which will clear the
bitplane data.
BUGS
None known.
SEE ALSO
bgui.library/BGUI_FreeBitMap(), graphics.library/AllocBitMap()
top bgui.library/BGUI_CreateRPortBitMap
NAME
BGUI_CreateRPortBitMap -- Create a RastPort and BitMap at the same time.
** V40.4 **
SYNOPSIS
rport = BGUI_CreateRPortBitMap( src, width, height, depth )
D0 A0 D0 D1 D2
struct RastPort *BGUI_CreateRPortBitMap( struct RastPort *, ULONG,
ULONG, ULONG )
FUNCTION
To allocate and initialize a RastPort and BitMap. The routine will
setup the RastPort attributes according to the source RastPort when
available. If no source RastPort is made available the resulting
RastPort is initialized by graphics.library/InitRastPort().
INPUTS
src - A pointer to the source RastPort from which the attributes
for the created RastPort are copied. When this is not
specified, the created RastPort is initialized with the
graphics.library/InitRastPort() routine.
width - The width in pixels of the BitMap attached to the RastPort.
height - The height in pixels of the BitMap attached to the RastPort.
depth - The number of bitplanes of the BitMap attached to the
RastPort.
RESULT
A pointer to the created RastPort structure or NULL uppon failure.
NOTES
The created RastPort does not have a layer attached to it, so clipping
is not possible. You are responsible to ensure that any rendering which
occurs in the RastPort remains inside the RastPort bounds.
BUGS
None known.
SEE ALSO
bgui.library/BGUI_FreeRPortBitMap()
top bgui.library/BGUI_DoGadgetMethodA
NAME
BGUI_DoGadgetMethodA -- Invoke a method on a BOOPSI gadget.
BGUI_DoGadgetMethod -- Varargs version.
SYNOPSIS
result = BGUI_DoGadgetMethodA( gad, win, req, msg )
D0 A0 A1 A2 A3
ULONG BGUI_DoGadgetMethodA( Object *, struct Window *,
struct Requester *, Msg )
ULONG BGUI_DoGadgetMethod( Object *, struct Window *,
struct Requester *, ULONG, ... )
FUNCTION
To invoke a method on a BOOPSI gadget in a way similar to the DoMethod()
function in amiga.lib, with the advantage that context information for
the gadget is included in the method by means of a GadgetInfo
structure.
INPUTS
gad - A pointer to the BOOPSI gadget on which the method is
invoked.
win - A pointer to the window on which the BOOPSI gadget is
located.
req - Normally a pointer to the requester on which the BOOPSI
gadget is located. Since BGUI does not support objects
on requesters you should put NULL here.
msg - A pointer to the message to send to the BOOPSI gadget.
RESULT
The object does whatever it needs to do which may include updating
it's visuals. The return value is defined per each method.
NOTES
This function invokes the specified method with a GadgetInfo derived
from the 'win' and 'req' pointers. The GadgetInfo is passed as the
second parameter of the message, except for OM_NEW, OM_SET, OM_NOTIFY,
and OM_UPDATE, where the GadgetInfo is passed as the third parameter.
Custom gadget implemetors should take note of this. Always put the
GadgetInfo in the second parameter of the message.
SEE ALSO
intuition.library/DoGadgetMethod(), intuition.library/SetGadgetAttrs()
top bgui.library/BGUI_FillRectPattern
NAME
BGUI_FillRectPattern -- Fill a rectangle with a pattern
** V41.3 **
SYNOPSIS
BGUI_FillRectPattern( rport, pat, X1, Y1, X2, Y2)
A1 A0 D0 D1 D2 D3
void BGUI_FillRectPattern( struct RastPort *, struct bguiPattern *,
ULONG, ULONG, ULONG, ULONG)
FUNCTION
This function fills a given RastPort with the given bguiPattern within
the constraints provided.
This function is similar to graphics.library/BlitBitMapRastPort() but
allows for additional convenience and flexibility.
INPUTS
rport - A pointer to the RastPort that you wish to copy the pattern to.
pat - A bguiPattern structure that you must initialize before use:
ULONG bp_Flags
0, or one of the following flags:
BPF_RELATIVE_ORIGIN
Origin is relative to the box constraints given below.
UWORD bp_Left, UWORD bp_Top
Offset into the bitmap which follows.
UWORD bp_Width, UWORD bp_Height
Defines the size of the 'cut' taken from the bitmap.
struct BitMap *bp_BitMap
Pointer to the BitMap structure you wish to use in the
fill. Naturally, it must be initialized and valid.
Object *bp_Object
Not currently used.
ULONG X1 -
ULONG Y1 - The upper-left corner of the RastPort you are filling.
ULONG X2 -
ULONG Y2 - The lower-right corner of the RastPort you are filling.
RESULT
No return value. If successful, the RastPort will be filled with
the desired portion of the desired pattern.
NOTES
BUGS
None known.
SEE ALSO
libraries/bgui.h, graphics.library/BltBitMapRastPort()
top bgui.library/BGUI_FreeBitMap
NAME
BGUI_FreeBitMap -- Free a BitMap created with BGUI_AllocBitMap().
** V40.4 **
SYNOPSIS
BGUI_FreeBitMap( bitmap )
A0
VOID BGUI_FreeBitMap( struct BitMap * )
FUNCTION
To deallocate a BitMap structure and bitplane data previously created
with BGUI_AllocBitMap(). Before the bitmap is actually freed a call
to WaitBlit() is made to make sure it is safe.
INPUTS
bitmap - A pointer to the BitMap structure.
BUGS
None known.
SEE ALSO
bgui.library/BGUI_AllocBitMap(), graphics.library/WaitBlit()
top bgui.library/BGUI_FreeClass
NAME
BGUI_FreeClass -- Free a class created with BGUI_MakeClassA().
** V41.7 **
SYNOPSIS
success = BGUI_FreeClass ( class )
D0 A0
BOOL BGUI_FreeClass ( Class * )
FUNCTION
Free memory and resources for a class that was created with
BGUI_MakeClassA(). The class OM_DISPOSE method will be called before
disposing the class as discussed in the description of the
CLASS_ClassDispatcher parameter of BGUI_MakeClassA() function.
INPUTS
class - The class you wish to free up.
RESULT
TRUE if success, FALSE if not.
NOTES
BUGS
None known.
SEE ALSO
libraries/bgui.h, bgui.library/BGUI_MakeClassA()
top bgui.library/BGUI_FreeRPortBitMap
NAME
BGUI_FreeRPortBitMap -- Free a RastPort created by BGUI_CreateRPortBitMap()
** V40.4 **
SYNOPSIS
BGUI_FreeRPortBitMap( rport )
A0
VOID BGUI_FreeRPortBitMap( struct RastPort * )
FUNCTION
To free the RastPort and BitMap created by an earlier call to the
BGUI_CreateRPortBitMap() function.
INPUTS
rport - A pointer to the RastPort structure to free.
BUGS
None known.
SEE ALSO
bgui.library/BGUI_CreateRPortBitMap()
top bgui.library/BGUI_GetCatalogStr
NAME
BGUI_GetCatalogStr -- Obtain a pointer to a localized string from a
message catalog.
** V41.3 **
SYNOPSIS
String = BGUI_GetCatalogStr( bgui_loc, ID, default )
D0 A0 D0 A1
STRPTR *BGUI_GetCatalogStr( struct bguiLocale *, ULONG, STRPTR );
FUNCTION
This function fetches a locale string from a specific localization
catalog. If the localized string indicated by ID is not found, the
default string is returned.
This function is similar to locale.library/GetCatalogStr() but allows
for additional flexibility via hooks.
INPUTS
bgui_loc - A pointer to a bguiLocale structure that you have filled out:
struct Locale *bl_Locale
Not used by this function.
struct Catalog *bl_Catalog
A Catalog structure you initialize using the locale.library
function OpenCatalog(). If it is NULL, the default string
is returned.
struct Hook *blLocaleStrHook
Not used by this function.
struct Hook *blCatalogStrHook
If this is filled in, the function indicated is called to
retrieve the string pointer. It is passed a bguiCatalogStr
struct that contains the ID of the desired string and the
default string itself.
If this is not filled in, locale.library/GetCatalogStr() is
called.
ID - The number of the locale string you wish to retrieve.
default - The default string to return if the localized version is not
found.
RESULT
A pointer to the desired string. This string is READ ONLY and cannot be
changed by your program! This string is valid only as long as the catalog
remains open.
If the ID is out of bounds, the default string will be returned.
NOTES
locale.library must be opened before using this function. If it is not,
a NULL pointer will always be returned unless you use your own hook.
The catalog must be closed by you -- BGUI does not clean it up.
BUGS
None known.
SEE ALSO
libraries/bgui.h, locale.library/OpenCatalog(),
locale.library/GetCatalogStr()
top bgui.library/BGUI_GetClassPtr
NAME
BGUI_GetClassPtr -- Obtain a pointer to a BGUI class.
SYNOPSIS
class = BGUI_GetClassPtr( classID )
D0 D0
Class *BGUI_GetClassPtr( ULONG );
FUNCTION
This function is meant to provide class writers an easy way to obtain a
pointer to one of the bgui.library classes. The pointer returned by this
routine may _only_ be used to subclass or to obtain objects from. Reading
from or writing to the class structure is NOT allowed.
INPUTS
classID - The numeric ID of the class you need.
RESULT
A pointer to the requested class or NULL if the call was unsuccessfull.
BUGS
None known.
SEE ALSO
libraries/bgui.h
top bgui.library/BGUI_GetLocaleStr
NAME
BGUI_GetLocaleStr -- Obtain a pointer to a localized string.
** V41.3 **
SYNOPSIS
String = BGUI_GetLocaleStr( locale, ID )
D0 A0 D0
STRPTR *BGUI_GetLocaleStr( struct bguiLocale *, ULONG );
FUNCTION
This function fetches a localized string for the given locale.
This function is similar to locale.library/GetLocaleStr() but allows
for additional flexibility via hooks.
INPUTS
bgui_loc - A pointer to a bguiLocale structure that you have filled out:
struct Locale *bl_Locale
A Locale structure you initialize using the locale.library
function OpenLocale().
struct Catalog *bl_Catalog
Not used by this function.
struct Hook *blLocaleStrHook
If this is filled in, the function indicated is called to
retrieve the string pointer. It is passed a bguiLocaleStr
struct that contains the ID of the locale string.
If this is not filled in, locale.library/GetLocaleStr() is
called.
struct Hook *blCatalogStrHook
Not used by this function.
ID - The number of the locale string you wish to retrieve.
RESULT
A pointer to the desired locale string. This string is READ ONLY and
cannot be changed by your program! This string will remain valid until
you close the locale.
If the ID is out of bounds, a NULL pointer will be returned.
NOTES
locale.library must be opened before using this function. If it is not,
a NULL pointer will always be returned unless you use your own hook.
You are responsible for closing the locale once it is opened.
BUGS
None known.
SEE ALSO
libraries/bgui.h, locale.library/OpenLocale(),
locale.library/GetLocaleStr()
top bgui.library/BGUI_Help
NAME
BGUI_Help -- Put up a simple synchronus AmigaGuide help file.
SYNOPSIS
success = BGUI_Help( win, file, node, line )
D0 A0 A1 A2 D0
BOOL BGUI_Help( struct Window *, UBYTE *, UBYTE *, ULONG )
FUNCTION
To show additional online-help using the AmigaGuide system.
INPUTS
win - A pointer to the window from which the AmigaGuide help
session is being invoked.
name - A pointer to the full path name of the amigaguide file.
node - A pointer to the node name to display.
line - The line number to display.
RESULT
TRUE uppon success and FALSE if something went wrong.
BUGS
None known.
SEE ALSO
amigaguide.library/OpenAmigaGuideA()
top bgui.library/BGUI_InfoText
NAME
BGUI_InfoText -- Render text using BGUI infoclass command sequences.
** V40.8 **
SYNOPSIS
BGUI_InfoText( rp, text, bounds, drawinfo )
A0 A1 A2 A3
void BGUI_InfoText( struct RastPort *, UBYTE *, struct IBox *,
struct DraInfo * )
FUNCTION
To render text with infoclass command sequences inside the given
bounds. The rendering routine will automatically truncate all text
that will not fit inside the given bounds.
Also the text, when possible, is centered vertically in the given
bounds.
INPUTS
rp - A pointer to the RastPort in which the text is to be rendered.
text - A pointer to the text to render. All infoclass command
sequences are supported. They are:
\33b - Bold text.
\33i - Italics text.
\33u - Underlined text.
\33n - Normal text.
\33c - Center this and the following text lines.
\33l - Left-justify this and the following text lines.
\33r - Right-justify this and the following text lines.
\33d - Set drawinfo pen .
\33p - Set pen .
\n - Start a new line of text.
Please note that the \33c, \33l and \33r command sequences
can only be used at the beginning of a new line.
bounds - A pointer to a struct IBox in which the bounds of the area
in which is rendered are described.
drawinfo - A pointer to the screen's DrawInfo structure. This is
used to find pen information for the screen. When this is
NULL a default set of pens is used.
RESULT
None.
BUGS
None known.
SEE ALSO
bgui.library/BGUI_InfoTextSize
top bgui.library/BGUI_InfoTextSize
NAME
BGUI_InfoTextSize -- Get pixel size of text with command sequences.
** V40.8 **
SYNOPSIS
BGUI_InfoTextSize( rp, text, width, height )
A0 A1 A2 A3
void BGUI_InfoTextSize( struct RastPort *, UBYTE *, UWORD *, UWORD * )
FUNCTION
To compute the complete width and height of a text with BGUI infoclass
command sequences. Result is in pixels.
INPUTS
rp - The RastPort which is used to base the computations on.
text - A pointer to the text.
width - A pointer to storage space to hold the pixel width of the
text. May be NULL in which case the width is not computed.
height - A pointer to storage space to hold the pixel height of the
text. May be NULL in which case the height is not computed.
RESULT
None
BUGS
None known.
SEE ALSO
bgui.library/BGUI_InfoText
top bgui.library/BGUI_LockWindow
NAME
BGUI_LockWindow -- Disable a window from receiving IDCMP mesages.
SYNOPSIS
lock = BGUI_LockWindow( win )
D0 A0
APTR BGUI_LockWindow( struct Window * )
FUNCTION
To disable a window from receiving IDCMP messages at its message port.
This is done by putting up an invisible requester and a busy pointer
(same as the workbench uses). The only thing possible with locked windows
is moving it with the dragbar and depth gadget.
INPUTS
win - A pointer to the window to lock.
RESULT
Lock will point to some private data if successfull or NULL if not.
BUGS
None known.
SEE ALSO
bgui.library/BGUI_UnlockWindow()
top bgui.library/BGUI_MakeClassA
vNAME
BGUI_MakeClassA -- Set up a new class.
BGUI_MakeClass -- VarArgs version
** V41.7 **
SYNOPSIS
BGUI_MakeClass ( tag1, ...)
A0
BGUI_MakeClassA( tagitem )
A0
Class *BGUI_MakeClass ( ULONG, ...)
Class *BGUI_MakeClassA( struct TagItem *)
FUNCTION
For class implementors only.
This function creates a new BGUI class. The superclass should be defined
to be another BGUI class; all classes are decendants of the 'rootclass.'
INPUTS
The following tags are supported:
CLASS_SuperClassBGUI
(ULONG) The class ID of the class' superclass IF the class is a
subclass of one of the known BGUI classes.
CLASS_SuperClass
(ULONG) If CLASS_SuperClassBGUI is missing, this must be set to
a pointer to an already created class (superclass).
CLASS_SuperClassID
(STRPTR ) If CLASS_SuperClassBGUI is missing and if
CLASS_SuperClass is missing or it is NULL, this may be set to the
name (character string) of any existing superclass of the class to
be created. The default value is "rootclass". This is the same
as required for intuition.library/MakeClass() and will be passed
to it.
CLASS_ClassID
(STRPTR) The name (character string) of the class. Only required
if this class is to created is to be made public. This is the
same as required for intuition.library/MakeClass() and will be
passed to it.
CLASS_ClassSize
(ULONG) The size in bytes of the class private data space. That
memory space will be allocated and pointed to by the class
cl_UserData field. Class implementors should take advantage of
this data space to store class specific global data.
CLASS_ObjectSize
(ULONG) The size in bytes of the instance data of each object of
the class.
CLASS_Flags
(ULONG) Flags; these are the same as required for
intuition.library/MakeClass() and will be passed to it. Defaults
to 0.
CLASS_Dispatcher
(HOOKFUNC) Pointer to the dispatcher function for objects of this
class. This is NOT a callback hook, but a function pointer. The
function pointed to must accept data as follows:
REG(A0) Class *cl, REG(A2) Object *obj, REG(A1) Msg msg
If this tag is not specified, the default jump table defined
in CLASS_DFTAble is used.
CLASS_DFTable
(DPFUNC *) Pointer to the dispatcher's function lookup table.
This table lists all methods that the class can perform and
a pointer to that method.
CLASS_ClassDispatcher
(HOOKFUNC) Pointer to the dispatcher for this class (same format
as CLASS_Dispatcher). This dispatcher is used to call class
specific methods. This is an extension to intuition BOOPSI
classes. Besides the object methods, the classes may have their
own methods.
Currently, only OM_NEW and OM_DISPOSE are supported by BGUI.
OM_NEW is called after a class is successfuly created right
before it returns from BGUI_MakeClass. BGUI will pass to OM_NEW
the pointer of the class just created and NULL as object instance
pointer.
Class implementors should use this method to initialize the
private class data structure (given by the cl_UserData field) and
allocate any resources needed globally by the class' objects, like
for instance external library pointers. If the initialization
succeeds the method should return TRUE. Otherwise, BGUI_MakeClass
will fail disposing the class that was created before calling
OM_NEW.
OM_DISPOSE is called by BGUI_FreeClass. Class implementors should
use it dispose any resources allocated during the class life time.
If it fails the method should return FALSE, the class is not freed
and BGUI_FreeClass fails.
CLASS_ClassDFTable
(DPFUNC *) Pointer to the class dispatcher's function lookup table
array. This array lists all methods that the class supports
and function pointers to each of the methods. (same format as
CLASS_DFTAble)
RESULT
A pointer to a valid Class structure, or NULL if the class could not be
created.
NOTES
The global data pointer that is stored in register A4 is restored upon
exiting this function; thus, you need not use __saveds in your method
dispatcher functions.
BUGS
None known.
SEE ALSO
libraries/bgui.h, bgui.library/FreeClass()
top bgui.library/BGUI_NewObjectA
NAME
BGUI_NewObjectA -- Create an object of a specific class.
BGUI_NewObject -- Varargs version.
SYNOPSIS
object = BGUI_NewObjectA( classID, tags )
D0 D0 A0
Object *BGUI_NewObjectA( ULONG, struct TagItem * )
object = BGUI_NewObject( classID, tag1, ... )
Object *BGUI_NewObject( ULONG, Tag, ... )
FUNCTION
This routine is a replacement routine for Intuition's NewObjectA() call.
It is an easy way to obtain an object from any of the BGUI classes. You
pass it a classID and some create time attributes and the routine will
return you a pointer to the created object.
INPUTS
classID - The numeric ID of the class.
tags - A set of create-time attributes which will be passed to the
class from which the object is created.
RESULT
A pointer to the created object or NULL if an error occured.
BUGS
None known.
SEE ALSO
intuition.library/NewObjectA(), libraries/bgui.h
top bgui.library/BGUI_PackStructureTags
NAME
BGUI_PackStructureTags -- Pack a structure with values from a TagList.
** V41.8 **
SYNOPSIS
num = BGUI_PackStructureTags (pack, pTable, taglist)
D0 A0 A1 A2
ULONG BGUI_PackStructureTags( APTR, ULONG *, struct TagItem *)
FUNCTION
For each pTable entry, a FindTagItem() will be done and if the matching
tag is found in the taglist, the data will be packed into the given
structure based on the packtable definition.
INPUTS
pack - A pointer to the data space to be packed into.
pTable - A pointer to the packing information table. See utility/pack.h
for definition and macros.
taglist - A pointer to the TagList to pack from.
RESULT
The number of tags packed.
NOTES
if the user is using V39 or later of the OS,
utility.library/PackStructureTags() will be used. Otherwise, internal
bgui.library functions will be used.
BUGS
None known.
SEE ALSO
libraries/bgui.h, bgui.library/BGUI_UnpackStructureTags(), utility/pack.h,
utility.library/PackStructureTags()
top bgui.library/BGUI_PostRender
NAME
BGUI_PostRender -- Perform operations on a class after rendering.
** V41.6 **
SYNOPSIS
BGUI_PostRender( class, object, gp_render)
A0 A2 A1
void BGUI_PostRender( struct Class *, struct Object *,
struct gpRender * )
FUNCTION
This function is only for class implementors that subclass from
baseclass and implement the GM_RENDER method.
It is called with the same arguments that GM_RENDER was called with, and
should be called you exit the rendering function. Do not call it if the
superclass method failed. Call it in all other cases.
INPUTS
class - A pointer to a Class structure that the object belongs to.
obj - A pointer to the object.
gpr - A pointer to a gpRender structure with the fields set up as
appropriate:
ULONG MethodID
Set to GM_RENDER
struct GadgetInfo *gpr_GInfo
Set to point to the object's GadgetInfo structure.
struct RastPort *gpr_RPort
Set to point to the object's RastPort
LONG gpr_Redraw
Redraw method one of the following three values:
GREDRAW_REDRAW
Redraw the entire gadget
GREDRAW_UPDATE
The object's imagry has changed, possibly due to the
user manipulating the object. Only the part of the
imagry that was affected will be redrawn (e.g., a
slider object)
GREDRAW_TOGGLE
If the object supports it, toggle between the
selected and unselected state.
RESULT
No returned result. If successful, the object will re redrawn as needed.
NOTES
This function was implemented in V41.6 to support recursive clipping and
buffering with virtual groups in mind.
Do not use objects in virtual groups if their classes do not call this
function. If you must use an old pre-compiled class, you'll have to use
it with the externalclass.
BUGS
None known.
SEE ALSO
libraries/bgui.h, intuition/gadgetclass.h
top bgui.library/BGUI_RequestA
NAME
BGUI_RequestA -- Put up a text requester.
BGUI_Request -- Varargs version.
SYNOPSIS
gadid = BGUI_RequestA( win, req, args )
D0 A0 A1 A2
ULONG BGUI_RequestA( struct Window *, struct bguiRequest *, ULONG * )
gadid = BGUI_Request( win, req, arg1, ... )
ULONG BGUI_Request( struct Window *, struct bguiRequest *, ULONG, ... )
FUNCTION
To put up a requester. It is typically the same as Intuition's
EasyRequestArgs() only this routine allows you to put InfoClass style
command sequences in the body text and keyboard shortcuts for the
gadgets.
INPUTS
win - A pointer to the window on which the requester will open. This
may be NULL.
req - A pointer to an initialized bguiRequest structure. This
structure is similar to Intuition's EasyStruct structure.
It is used to control the general look of the requester. The
structure is initialized with the following data:
br_Flags - This field can contain any of the following
flags:
BREQF_CENTERWINDOW
This will center the requester over the
window 'win' if a valid pointer to a
window is passed.
BREQF_LOCKWINDOW
This will disable the window on which
the requester appears from receiving any
IDCMP messages. A busy pointer is also
set on that window. NOTE: 'win' must
point to a window for this to work.
BREQF_NO_PATTERN
This will suppress the backfill pattern.
BREQF_XEN_BUTTONS
When set this flag will make the buttons
framing appear as XEN style framing.
BREQF_AUTO_ASPECT
When set all the requester will make
some aspect ratio dependant changes to
the GUI like thin/thick frames etc.
BREQF_FAST_KEYS
This flag tells BGUI to use the Return
and Esc key as default positive/negative
response to the requester. Please note
that no visual confirmation is given
at this time when the key is pressed.
br_Title - A pointer to the title of the requester. If
this is NULL the title of the window is used
if one is present. As a final default, "BGUI
Request" or its localized equivalent is
used.
br_GadgetFormat - A pointer to the gadget label string. The
gadget labels are seperated by a '|'
character. I.E "OK|Cancel" will give you an
"OK" and a "Cancel" gadget.
When you precede the gadget label with a '*'
the label of the gadget in question will be
rendered as bold text, and also will
automatically be the default response of the
Return key when the BREQF_FAST_KEYS flag is
set (see above).
br_TextFormat - A printf-style formatting string which may
also contain InfoClass style command
sequences.
br_ReqPos - The position at which the requester will
be opened. There are three possibilities:
POS_CENTERSCREEN
Center requester on the window's (if any)
screen.
POS_CENTERMOUSE
Center requester under mouse pointer, if
possible.
POS_TOPLEFT
Open requester in the top left corner of
the window's screen (similar to how Intuition's
EasyRequest does it).
NOTE: The BREQF_CENTERWINDOW flag will override
this setting.
br_Underscore - With this field you can set the character
which preceedes the character to underline.
The underlined character will automatically become
the key which activates the gadget.
br_Reserved0 - This field is for future expansion and
_must_ be set to zero.
br_Screen - Here you can optionally specify the Screen
on which the requester must appear. By
default the given window's Screen is used if a
valid Window pointer is given. If no Window
is given then this Screen is used. If this
field is NULL the default Public Screen is
used.
br_Reserved1 - These fields are for future expansion and
_must_ be zero'd.
args - A pointer to an array of arguments for the C-style formatting
codes.
RESULT
1, 2, 3, 4 ....., 0.
You will be returned a value ranging from 0 to the count of gadgets minus
one. NOTE: The right most gadget will always return 0.
SEE ALSO
intuition.library/EasyRequestArgs(), intuition/intuition.h,
libraries/bgui.h, infoclass.doc
top bgui.library/BGUI_UnlockWindow
NAME
BGUI_UnlockWindow -- Enable a window that was previously disabled.
SYNOPSIS
BGUI_UnlockWindow( lock )
A0
VOID BGUI_UnlockWindow( APTR )
FUNCTION
To enable a window to receive IDCMP messages on its message port. This
routine must be used to 'unlock' windows locked with BGUI_LockWindow().
INPUTS
lock - A pointer to the data returned by BGUI_LockWindow(). This may
be NULL.
RESULT
The window will be unlocked.
BUGS
None know.
SEE ALSO
bgui.library/BGUI_LockWindow()
top bgui.library/BGUI_UnpackStructureTags
NAME
BGUI_UnpackStructureTags -- unpack a structure into values in a TagList.
** V41.8 **
SYNOPSIS
num = BGUI_UnpackStructureTags (pack, pTable, taglist)
D0 A0 A1 A2
ULONG BGUI_UnpackStructureTags( APTR, ULONG *, struct TagItem *)
FUNCTION
For each pTable entry, a FindTagItem() will be done and if the matching
tag is found in the taglist, the data in the structure will be placed into
the memory pointed at by the tag's ti_Data. ti_Data MUST be a LONGWORD.
INPUTS
pack - A pointer to the data space to be unpacked.
pTable - A pointer to the packing information table. See utility/pack.h
for definition and macros.
taglist - A pointer to the TagList to unpack into.
RESULT
The number of tags unpacked.
NOTES
if the user is using V39 or later of the OS,
utility.library/UnpackStructureTags() will be used. Otherwise, internal
bgui.library functions will be used.
BUGS
None known.
SEE ALSO
libraries/bgui.h, bgui.library/BGUI_PackStructureTags(), utility/pack.h,
utility.library/UnpackStructureTags()